package main

import "fmt"

func main() {
	var str string = "hello中国"

	for i := 0; i < len(str); i++ {
		fmt.Printf("%d %c\t", i, str[i]) // 中文乱码 UTF-8 编码 一个中文 三个字节
		// 0 h     1 e     2 l     3 l     4 o     5 ä     6 ¸     7 ­     8 å     9
	}
	fmt.Println()

	// 解决方案 转为切片
	var t []rune = []rune(str)
	for i := 0; i < len(t); i++ {
		fmt.Printf("%d %c\t", i, t[i])
		// 0 h     1 e     2 l     3 l     4 o     5 中    6 国
	}
	fmt.Println()
	var t1 []int32 = []int32(str)
	for i := 0; i < len(t1); i++ {
		fmt.Printf("%d %c\t", i, t1[i]) // 0 h     1 e     2 l     3 l     4 o     5 中    6 国
	}
	fmt.Println()

	// for-range 按照字符遍历
	for index, val := range str {
		fmt.Printf("%d %c\t", index, val) // 0 h     1 e     2 l     3 l     4 o     5 中    8 国
	}
	fmt.Println()

}
